package taskio;

import java.io.*;
import java.util.*;
import javax.swing.table.DefaultTableModel;
import java.util.Date;
import java.text.DateFormat;
import taskio.Tehtava.Prioriteetti;
import taskio.Tehtava.Tila;
/**
 *
 * @author kypisa
 */
public class TiedostonKasittelija {
BufferedReader in;
BufferedWriter out;
//File tiedosto = new File("x:\\Taskio\\Task.txt");
File tiedosto = new File("/home/ub313/Desktop/Task.txt");
DefaultTableModel datamalli;
Vector taskit = new Vector();
StringTokenizer erottaja;
String eol = "\r\n";


public void tallennaTiedostoon(DefaultTableModel dtm ) throws IOException {

  try
     {

       out = new BufferedWriter( new FileWriter(tiedosto));
       this.datamalli = dtm;

       for(int j = 0; j < datamalli.getRowCount(); j ++) {
           for(int i=0; i < datamalli.getColumnCount(); i ++){
             out.write(datamalli.getValueAt(j, i).toString());
             if (i<datamalli.getColumnCount()-1) {
                out.write(";");
             }
             
           }
       out.write(eol);
     }
    }

 catch(IOException e)
    {
       System.out.println("Virhe: " + e.getMessage());
    }
finally
 {
    out.close();

 }

}

public void lueTiedostosta(DefaultTableModel dtm) throws Exception {

 String rivi = "";
 String tila;
 String prioriteetti;
 String otsikko;
 String maarapaiva;
 String luotu;
 String muokattu;
 String kuvaus;
 DateFormat df = DateFormat.getDateInstance();
 Vector tehtavarivi = new Vector();
 Tila t = Tila.TEKEILLÄ;
 Prioriteetti p = Prioriteetti.TÄRKEÄ;

  try
     {


       in = new BufferedReader( new FileReader(tiedosto));

       while ((rivi = in.readLine()) != null){


          erottaja = new StringTokenizer (rivi,";");

          tila = erottaja.nextToken();
          tehtavarivi.add(t);

          prioriteetti = erottaja.nextToken();
          tehtavarivi.add(p);

          otsikko = erottaja.nextToken() ;
          tehtavarivi.add(otsikko);

          maarapaiva = erottaja.nextToken();
          tehtavarivi.add(maarapaiva);

          luotu = erottaja.nextToken();
          tehtavarivi.add(luotu);

          muokattu = erottaja.nextToken();
          tehtavarivi.add(muokattu);

          kuvaus = erottaja.nextToken();
          tehtavarivi.add(kuvaus);

          // System.out.println("Luku 1");
          dtm.addRow(tehtavarivi);
          // System.out.println("Luku 2");

       }

    }

 catch(IOException e)
    {
       System.out.println("Virhe: " + e.getMessage());

    }
finally
 {
    in.close();

 }

 
}

}

